This application claims the benefit of the priority based on Japanese Patent Application (JP 2006-188999) filed on Jul. 10, 2006, and the disclosure of which is incorporated in the entirety into this specification by reference.
In order to properly operate a computer system, the usage amount and rate of resources of the computer system (for example, CPU (central processing unit) and a memory) are required to be managed. In a typical computer system, the usage amount and rate of resources used by respective running processes are monitored in real time. As such a technique, Japanese Laid Open Patent Application (JP-P 2005-25372A) discloses a technique for accurately estimating a CPU consumption time of each process. Japanese Laid Open Patent Application (JP-P 2005-216078A) discloses a technique which allows, when a certain transaction is executed which involves a plurality of processes, obtaining the CPU consumption amounts of all the processes related to the transaction and the profiles of the transmission data size and the reception data size only by specifying the process with which the transaction begins. Also, Japanese Laid Open Patent Application (JP-P 2005-64971A) discloses a technique for estimating the load distribution from the average load amount and the average source usage amount at each node.
One of the purposes of managing the usage amount and rate of the resources is to calculate billing data to charge the use fee of the computer system to the user. As described in a non-patent document entitled “OS Review”, Shushi Kubo, KYORITSU SHUPPAN CO., LTD, 1988, pp. 174-179, the fee is typically calculated on the basis of the usage amount of the resources, specifically, the consumed CPU time, the usage amount of the main memory, the number of input/output operations, and the number of used print papers. Japanese Laid Open Patent Application (JP-A-Heisei 6-95924) discloses a technique for monitoring the CPU time to be charged when the CPU is used by the processes. Japanese Laid Open Patent Application (JP-P 2005-31870A) discloses a technique in which, even when a plurality of process groups are generated when a job is executed, the execution of the plurality of process groups is recognized as one job by the operation system for proper billing.
Another of the purposes for managing the usage amount and rate of the resources is to measure or estimate the loads and performances of the current and future computer system and to use the results in optimizing the scale and configuration of the computer system. For example, when the load of the computer system is estimated to be increased in future, resources are added to the computer system to thereby avoid the lack of the computer system performance. In one example, the computer system is sometimes provided with a plurality of hierarchical servers (for example, Japanese Laid Open Patent Application (JP-P 2001-290641A) employs the triple-layered configuration composed of web servers, application servers and data servers), and the management of the usage amount and rate of the resources allows properly judging the server layer to be increased. A computer system provided with the plurality of hierarchical servers is also disclosed in “From Two-Layered C/S To n-Layered Web System, From EUC To Information Community BtoB”, Nikkei Open System, Nikkei Business Publications. Inc, no. 100, July 2001, pp. 164-170, and “New Common Sense That Cannot Be Asked Any More”, Nikkei Computer, Nikkei Business Publications. Inc, Mar. 8, 2004. Also, Japanese Laid Open Patent Application (JP-P 2005-148911A) discloses a technique for balancing the load on the basis of the load information of each node.
For example, Japanese Laid Open Patent Application (JP-P 2006-24017A) discloses a system for analyzing the change in the usage state of the resources of the computer system and mechanically estimating the future tendency. In this known system, the CPU usage rate log and the transaction log are obtained from a Web application server and the CPU usage rate is estimated for each type of the transaction on the basis of the information of the CPU usage rate and the number of the processes of each transaction. The CPU usage rate for each type of the transactions is calculated by using a multiple regression analysis. The calculated CPU usage rate is used to determine the estimated process amount for each future certain time for each type of the transaction. Moreover, the CPU usage rate for each type of the transaction and the future estimation process amount are used to determine the configurations and settings of the software and hardware required to sufficiently satisfy the needs of the application in the server.
It should be noted here that the transaction in the Web application generally means a session involving multiple web requests (also referred to as HTTP requests) which satisfies the ACID property (the atomicity, the consistency, the isolation and the durability) (for example, refer to the paragraphs [0023] and [0024] in Japanese Laid Open Patent Application (JP-P 2000-207365A)). In order to execute a transaction, a session in which requests and replies are repeated many times is required (for example, refer to the paragraph [0005] in Japanese Laid Open Patent Application (JP-P 2001-344224A).
The HTTP (hyper text transfer protocol), which is used in the WWW, is generally considered not to be suitable for the transaction. This is because the HTTP is based on simple processing, that is, one-request-one-reply processing. In order to execute a transaction, a WWW server is required to execute various special processing. For example, Japanese Laid Open Patent Application (JP-P 2000-207365A) discloses a system for executing a transaction. In this system, when a request which requires a transaction scope (a set of individually independent requests which logically configure one transaction) is sent to a server by a client, the server creates transaction identification and maintains the identification during the durations of the plurality of independent web requests. The client sends a request requesting the transaction completion to the server by using the transaction identification and consequently sends a request for an additional action requiring the transaction scope to the server.
One of the issues to be considered in managing the use amount and rate of resources of a computer system that supports the standard HTTP is that a current Web application is allowed to handle a plurality of types of web requests in one process. A typical example is Apache, which is a typical software used as a Web server (See BEN ROLY, PETER ROLY, [Apache Handbook], Ohmsha Ltd. Nov. 25, 1997, pp. 41-57). The Apache employs an architecture in which one (or relatively few) process adapted to a plurality of types of web requests is permanently activated, and a plurality of requests asynchronously arriving at the process are scheduled in the process and executed. In such software, the CPU time consumed by a web request cannot be determined for each type of the web requests by measuring the CPU time consumed in each process. Many of currently used web servers and database servers carry out such operations. Under such situation, the calculation of the CPU time and the memory usage amount for each process is not sufficient for the management of the computer system.
To the inventor's knowledge, however, there is no known technique for managing resources of a computer system in accordance with the foregoing viewpoint. In particular, no technique is known at present which correctly manages resources within a computer system which supports a standard HTTP by managing the resources in terms of types of web requests. As described above, although the technique for calculating the CPU usage rate for each type of the transactions is known (Japanese Laid Open Patent Application (JP-P 2006-24017A)), it is not actually easy to realize the technique, since the HTTP is poor in affinity with handling the transaction.